import { useUserStore } from "@/store/userStore";
import router from '@/router';

// 退出登陆功能
export function loginOut(after?: () => void) {
  // 0. 删除 token
  localStorage.removeItem('token');
  // 1. 删除 仓库数据(如果有对个  每个仓库都要清空  要清除的是这个仓库的数据)
  const userStore = useUserStore();
  userStore.$reset();   // 重置仓库数据
  // 2. 删除 动态路由的数据
  // router.getRoutes();   // 获取到的是整个路由表信息  数组
  // router.removeRoute(name);   // 根据name名称删除路由
  const allRoutes = router.getRoutes();
  allRoutes.forEach((item) => {
    // login 不能删除
    if (item.path != '/login' && item.name) {
      router.removeRoute(item.name);
    }
  })
  // 3. 跳转回到首页
  router.push('/index');

  // 4. 执行 回调函数  提示用户 退出成功!
  after && after();
}